#include "Scene.h"
#include <stdio.h>
#include <stdlib.h>
#include <time.h>

typedef struct 
{
    char name[20];
    char password[20];
}User;


/*初始化场景*/
void InitMap(char* (*map)[MAPSIZE])
{
    for(int i=0;i<MAPSIZE;i++)
    {
        for(int j=0;j<MAPSIZE;j++)
        {
            map[i][j] = " ";
        }
    }
}

/*显示场景*/
void PrintMap(char* (*map)[MAPSIZE])
{
    /*显示列号*/
    printf("    ");
    for(int i=0;i<MAPSIZE;i++)
    {
        printf("%4d ",i+1);
    }
    printf("\n");

    for(int i=0;i<MAPSIZE;i++)
    {
        printf("%5d",i+1);          //显示行号
        for(int j=0;j<MAPSIZE;j++)
        {
            printf("%5s",map[i][j]);
        }
        printf("\n\n");
    }
    printf("\n");
}

int GetRand(int maxnum)
{
    srand(time(NULL));
    return rand()%maxnum;
}


/*登录界面*/
bool Login()
{
    while(1)
    {
        system("clear");
       
        printf("——————————请先登录(注册)!——————————\n");
        printf("1、登录\n");
        printf("2、注册\n");
        int choice = 0;

        scanf("%d",&choice);
        switch(choice)
        {
            case 1:
                char name[20];
                char password[10];
                printf("用户名: ");
                scanf("%s",name);
                printf("\n密码: ");
                scanf("%s",password);
                mystrlist content = GetLineFromFile("namelist.txt");

                for(int i=0;i<content.len;i++)
                {
                    User temp;
                    /*格式化输出到数组*/
                    sscanf(content.stringlist[i].string,"%s %s",temp.name,temp.password);
                    if(strcmp(temp.name,name)==0&&strcmp(temp.password,password)==0)
                    {
                        printf("登录成功!\n");
                        sleep(2);
                        WriteToFile(name,"playername.txt",strlen(name));
                        ClearMyStringList(&content);
                        return true;
                    }
                }   
            break;

            case 2:
                char newname[20];
                char newpassword[10];
                printf("用户名: ");
                scanf("%s",newname);
                printf("\n密码: ");
                scanf("%s",newpassword);
                char* enter = "\n";
                char* space = " ";

                AppendToFile(enter,"namelist.txt",strlen(enter));
                AppendToFile(newname,"namelist.txt",strlen(newname));
                AppendToFile(space,"namelist.txt",strlen(space));
                AppendToFile(newpassword,"namelist.txt",strlen(newpassword));

                WriteToFile(newname,"playername.txt",strlen(newname));

                printf("注册成功!\n");
                sleep(2);
                return true;

            break;
            
            default:

            break;
        }



        
    }
}







// /*地图转化为字符串数组*/
// DArray MapToString(char* (*map)[MAPSIZE])
// {
//     INITDARRAY(str);
//     for(int i=0;i<MAPSIZE;i++)
//     {
//         for(int j=0;j<MAPSIZE;j++)
//         {
//            map[i][j] = (char*)str.dp[i];
//         }
//         str.InsertArrayTail(&str,"\n");
//     }
// }



